package org.zjx.data.screen;

import org.zjx.command.entity.screen.*;
import org.zjx.command.enums.TeleportType;
import org.zjx.data.BaseSceneBuilder;

import java.awt.*;

public class HuaShengSiSceneBuilder extends BaseSceneBuilder {

    @Override
    protected String getSceneName() {
        return "化生寺";
    }

    @Override
    protected Dimension getSceneSize() {
        return new Dimension(127, 95);
    }

    @Override
    protected void addMonsters() {

    }

    @Override
    protected void addNpcs() {
        addNpc("空慈方丈", new Point(118, 80));
        addNpc("空善大师", new Point(58, 9));
        addNpc("接引僧", new Point(63, 28));
        addNpc("慧海", new Point(47, 36));
        addNpc("慧静", new Point(115, 51));
        addNpc("慧悲", new Point(16, 46));
        addNpc("疥疥癞癞和尚", new Point(32, 15));
    }

    @Override
    protected void addRooms() {
        Room guangHuaDian = createRoom("光华殿", null);
        addNpcToRoom(guangHuaDian, "慧明", new Point(13, 15));
        addNpcToRoom(guangHuaDian, "法明长老", new Point(27, 17));
        rooms.add(guangHuaDian);

        Room cangJingGe = createRoom("藏经阁", new Dimension(39, 29));
        addNpcToRoom(cangJingGe, "空度禅师", new Point(16, 16));
        rooms.add(cangJingGe);
    }

    @Override
    protected void addTeleports() {
        // 场景传送点
        addSceneTeleport(new Point(7, 7), "长安城", new Point(504, 272), new Point(3, 3));
        addSceneTeleport(new Point(54, 37), "光华殿", new Point(15, 12), new Point(58, 39));
        addSceneTeleport(new Point(90, 53), "藏经阁", new Point(10, 11), new Point(92, 56));

        // 房间入口传送点
        addRoomTeleport(new Point(54, 37), "光华殿", new Point(15, 12), new Point(58, 39));
        addRoomTeleport(new Point(90, 53), "藏经阁", new Point(10, 11), new Point(92, 56));
    }

    public static void main(String[] args) {
        new HuaShengSiSceneBuilder().execute("huashengsi_scene.json", "化生寺");
    }
}